home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-03 / qbasicpg.zip / APPLE.BAS < prev    next >
BASIC Source File  |  1980-01-01  |  9KB  |  206 lines

  1.  
  2. 10 KEY OFF:SCREEN 0,1:COLOR 15,0,0:WIDTH 40:CLS:LOCATE 5,19:PRINT "IBM"
  3. 20 LOCATE 7,8 ,0:PRINT "General  utility  programs"
  4. 30 COLOR 9 ,0:LOCATE 10,9,0:PRINT CHR$(213)+STRING$(21,205)+CHR$(184)
  5. 40 LOCATE 11,9,0:PRINT CHR$(179)+"       ATTACK        "+CHR$(179)
  6. 50 LOCATE 12,9,0:PRINT CHR$(179)+STRING$(21,32)+CHR$(179)
  7. 60 COLOR 9,0:LOCATE 13,9,0:PRINT CHR$(179)+"     Version  1.1    "+CHR$(179)
  8. 70 BEEP
  9. 80 LOCATE 14,9,0:PRINT CHR$(212)+STRING$(21,205)+CHR$(190)
  10. 90 COLOR 15,0,1:LOCATE 17,7,0:PRINT "OCTOBER 7  1982   MOD-5-5-M "
  11. 100 COLOR 9,0:LOCATE 23,6,0:PRINT "Press space bar to continue..."
  12. 110 IF INKEY$ <> "" THEN GOTO 110
  13. 120 CMD$ = INKEY$
  14. 130 IF CMD$ = "" THEN GOTO 120
  15. 140 IF CMD$ = CHR$(27) THEN GOTO 160
  16. 150 IF CMD$ <> " " THEN GOTO 120
  17. 160 REM TRANSFER COMMAND
  18. 500 R1$=LEFT$(TIME$,2):R2$=RIGHT$(TIME$,2):R3$=MID$(TIME$,3,2)
  19. 510 RANDOMIZE VAL(R1$+R2$+R3$)
  20. 520 KEY OFF:SCREEN 0,1:SC=0:SF=60:BD=35:WIDTH 40:COLOR 7,0:CLS :DEF SEG=&H40:POKE &H17,&H40
  21. 530 LOCATE 1,1,0:PRINT "DO YOU WANT INSTRUCTIONS ?":I$=INKEY$:IF I$="" THEN 530 ELSE IF I$="Y" THEN GOSUB 1800
  22. 540 A$="_____/\_____/\__/\_______/\_/\____/\__/\___\[\_/\_____/\__oo\[\oo____/\___/\/\_ZP?___/\__/\\\\\\/\___\WW\___/\___sr__/\__\RRR\__\AAA\_/\__/\__sr__/\______/\_____/\__/\_______/\_/\____/\__/\?"
  23. 550 CLS:IF SC=0 THEN DIM X(4),Y(4),R(4)
  24. 560 L=0:Y1=0:Q=1:Y(1)=14:X(1)=40:Q1=1:SE=0:B=-1:Z=0
  25. 570 Y=INT(RND(1)*14)+8
  26. 580 COLOR 1:LOCATE 5,10,0:PRINT "________________________________________";
  27. 590 M$=STRING$(36,196):N$=STRING$(36,32)
  28. 600 COLOR 7:LOCATE 4,3:PRINT "BOMBS -";BD;" SCORE -";SC;:LOCATE 4,28:PRINT"LASERS -";SF;"
  29. 610 COLOR 1:LOCATE 5,10,0:PRINT "________________________________________";
  30. 620 B$=MID$(A$,1,40)
  31. 625 DEF SEG=0:POKE 1047,32
  32. 630 COLOR 6:LOCATE 23,1+Z,0:PRINT B$;
  33. 640 GOSUB 2100
  34. 650 L=L+1:IF L=150 THEN SOUND 40,0:GOTO 1580
  35. 660 IF Z>0 THEN Z=Z-1
  36. 670 B$=MID$(A$,L+Z,40-Z)
  37. 680 COLOR 6:LOCATE 23,1+Z,0:PRINT B$;
  38. 690 IF Y5=1 THEN SOUND 1500,0:SOUND 1500,.1:C$=INKEY$:GOTO 780
  39. 700 C$=INKEY$:IF C$="" THEN 800
  40. 710 IF C$="8" THEN Y1=-1
  41. 720 IF C$="2" THEN Y1=1
  42. 730 IF C$="5" THEN Y1=0
  43. 740 GOTO 780
  44. 780 IF BD>0 AND B=-1 AND Y<20 THEN IF C$="4" THEN GOSUB 1030
  45. 790 IF SF>0 AND C$="6" THEN GOSUB 1100
  46. 800 IF Y5<>1 THEN SOUND 32767,.01:SOUND 45,.01
  47. 810 IF Y+Y1=6 THEN Y5=1:Y1=1
  48. 820 IF Y+Y1=23 THEN SE=1:GOTO 1200
  49. 830 LOCATE Y,2:PRINT "   ";
  50. 840 Y=Y+Y1
  51. 850 COLOR 15:LOCATE Y,2:PRINT ">M";CHR$(26);
  52. 860 IF B=1 THEN GOSUB 1070
  53. 870 FOR Q=1 TO Q1
  54. 880 IF R(Q)<>1 THEN 910
  55. 890 IF R(Q)=1 AND INT(RND(1)*50)>45 THEN R(Q)=0:GOTO 910
  56. 900 IF Q<Q1 THEN Q=Q+1:GOTO 880 ELSE 1020
  57. 910 LOCATE Y(Q),X(Q):PRINT " "
  58. 920 X(Q)=X(Q)-2:Y(Q)=Y(Q)+Y1(Q)
  59. 930 IF X(Q)=0 THEN GOSUB 1410
  60. 940 COLOR 7:LOCATE Y(Q),X(Q):PRINT CHR$(27);
  61. 950 IF (Q1<4 AND X(Q)=30) THEN GOSUB 1430
  62. 960 IF Y(Q)<Y THEN Y1(Q)=1
  63. 970 IF Y(Q)>Y THEN Y1(Q)=-1
  64. 980 IF INT(RND(1)*40)>35 THEN Y1(Q)=-Y1(Q)
  65. 990 IF Y(Q)+Y1(Q)=23 OR Y(Q)+Y1(Q)=6 THEN Y1(Q)=0
  66. 1000 IF ((X(Q)=4 OR X(Q)=2) AND Y(Q)=Y) THEN 1200
  67. 1010 NEXT Q
  68. 1020 GOTO 650
  69. 1030 IF Y/2=INT(Y/2) THEN BY=Y+1 ELSE BY=Y
  70. 1040 COLOR 7:B=1:BD=BD-1:Y2=Y:LOCATE 4,3:PRINT "BOMBS -";BD
  71. 1050 COLOR 2:LOCATE BY,3:PRINT "";
  72. 1060 RETURN
  73. 1070 IF BY=21 THEN GOSUB 1450:RETURN
  74. 1080 COLOR 2:LOCATE BY,3:PRINT " ";:BY=BY+2:LOCATE BY,3:PRINT "";
  75. 1090 RETURN
  76. 1100 COLOR 4:LOCATE Y,5:PRINT M$;:SF=SF-1:COLOR 7:LOCATE 4,28:PRINT "LASERS -";SF
  77. 1110 SOUND 32767,0:SOUND 900,1:FOR D=1 TO 20:NEXT D:SOUND 32767,0
  78. 1120 LOCATE Y,5:PRINT N$;
  79. 1130 FOR W=1 TO Q1:IF Y=Y(W) AND X(W)>4 AND R(W)<>1 THEN 1160
  80. 1140 NEXT W
  81. 1150 RETURN
  82. 1160 SC=SC+20:COLOR 7:LOCATE 4,14:PRINT "SCORE -";SC
  83. 1170 LOCATE Y(W),X(W):PRINT "0";:FOR S=150 TO 160:SOUND S,.1:NEXT S:LOCATE Y(W),X(W):PRINT " ";
  84. 1180 Y(W)=INT(RND(1)*16)+7:X(W)=40:R(W)=1
  85. 1190 RETURN
  86. 1200 SOUND 32767,0:LOCATE Y,2:PRINT "   ";
  87. 1210 COLOR 7
  88. 1220 IF SE=1 THEN Y=Y+Y1
  89. 1230 LOCATE Y,2:PRINT ">M";CHR$(26);:SOUND (RND(1)*99)*C+40,.01
  90. 1240 FOR D=1 TO 100:NEXT D
  91. 1250 FOR C1=178 TO 176 STEP -1:FOR C=15 TO 0 STEP -1
  92. 1260 LOCATE Y,2:PRINT CHR$(C1);CHR$(C1);CHR$(C1);:SOUND (RND(1)*99)*C+40,.01
  93. 1270 NEXT C:NEXT C1
  94. 1280 SOUND 39,0
  95. 1290 LOCATE Y,2:PRINT "   "
  96. 1295 IF SC>800 THEN FOR N=1 TO 15:COLOR N,N:CLS:SOUND N*37,7:FOR T=1 TO 115:NEXT T:NEXT N:COLOR 7,0:CLS:LOCATE 11,6:PRINT"G A M E    O V E R":PRINT:PRINT:PRINT"     GOOD JOB!!":DEF SEG=0:POKE 1047,0:END
  97. 1300 A$="YOU FAILED"
  98. 1310 FOR L=1 TO 10:B$=MID$(A$,L,1)
  99. 1320 LOCATE 10,14+L:PRINT B$;
  100. 1330 SOUND 60,.1:SOUND 60,0:FOR D=1 TO 50:NEXT D
  101. 1340 NEXT L
  102. 1350 A$="YOUR MISSION"
  103. 1360 FOR L=1 TO 12:B$=MID$(A$,L,1)
  104. 1370 LOCATE 12,13+L:PRINT B$;
  105. 1380 SOUND 60,.1:SOUND 60,0:FOR D=1 TO 50:NEXT D
  106. 1390 NEXT L
  107. 1400 DEF SEG=0:POKE 1047,0:END
  108. 1410 Y(Q)=INT(RND(1)*15)+8:X(Q)=40:R(Q)=1:Y1(Q)=0
  109. 1420 RETURN 1010
  110. 1430 Q1=Q1+1:Y(Q1)=INT(RND(1)*15)+8:X(Q1)=40:Y1(Q)=0
  111. 1440 RETURN
  112. 1450 B=-1
  113. 1460 BE=SCREEN(BY+2,3)
  114. 1470 LOCATE BY,3:PRINT " ";
  115. 1480 BY=BY+2
  116. 1490 SOUND 50,0
  117. 1500 FOR D=178 TO 176 STEP -1:FOR S=140 TO 142:LOCATE BY,1:COLOR INT(RND(1)*16+1):PRINT " ";STRING$(3,D):SOUND S,.01:NEXT S:SOUND 40,0:NEXT D
  118. 1510 IF BE=210 OR BE=193 THEN SC=SC+(25-Y2)*12
  119. 1514 IF BE=>169 AND BE<>210 AND BE<>193 AND BE<>196 THEN SC=SC+INT(RND*30)+10
  120. 1520 COLOR 7:LOCATE 4,14:PRINT "SCORE -";SC
  121. 1530 Z=4
  122. 1540 LOCATE BY,2:PRINT "   "
  123. 1550 RETURN
  124. 1560 BY=BY+2
  125. 1570 SOUND 50,0
  126. 1580 'COLOR 7:LOCATE 7,1:PRINT "\   /";
  127. 1590 FOR D=1 TO 150:NEXT D
  128. 1600 COLOR 7:LOCATE 7,1:PRINT " \ /";
  129. 1610 FOR D=1 TO 150:NEXT D
  130. 1620 LOCATE 7,1:PRINT "/   \":COLOR 14
  131. 1630 FOR L=7 TO Y-1:LOCATE L,3:PRINT "[";
  132. 1640 FOR D=1 TO 100:NEXT D:SOUND L*100,.1:NEXT L
  133. 1650 COLOR 15
  134. 1660 FOR L=Y-1 TO 7 STEP -1:LOCATE L+1,2:PRINT "   ";:LOCATE L,2:PRINT ">="+CHR$(26);
  135. 1670 FOR D=1 TO 100:NEXT D:SOUND L*100,.1:NEXT L
  136. 1680 COLOR 7:LOCATE L+1,2:PRINT "   ";
  137. 1690 FOR D=1 TO 150:NEXT D
  138. 1700 LOCATE L+1,1:PRINT " \ / ";
  139. 1710 FOR D=1 TO 150:NEXT D
  140. 1720 LOCATE L+1,1:PRINT "     ";
  141. 1730 LOCATE L,2:PRINT "___";
  142. 1740 A$="MISSION COMPLETE"
  143. 1750 FOR L=1 TO 16:B$=MID$(A$,L,1)
  144. 1760 LOCATE 10,11+L:PRINT B$;
  145. 1770 SOUND 60,.1:SOUND 60,0:FOR D=1 TO 50:NEXT D
  146. 1780 NEXT L
  147. 1790 IF SC>500 THEN SOUND 100,3:BEEP:SOUND 120,1:BEEP:SOUND 200,3:SOUND 400,3:SOUND 500,4:SOUND 600,5:SOUND 700,2:SOUND 800,3:SOUND 700,2:SOUND 200,3:GOTO 1795
  148. 1793 SOUND 100,2:SOUND 300,2:SOUND 500,3:END
  149. 1795 LOCATE 15,5:PRINT "ON TO THE NEXT ROUND!"
  150. 1797 FOR O=1 TO 1900:NEXT O
  151. 1799 GOTO 540
  152. 1800 CLS
  153. 1810 '                                            +
  154. 1820 PRINT "  YOUR MISSION IS TO ATTACK AND DESTROY"
  155. 1830 PRINT "THE APPLE COMPUTER MANUFACTURING PLANT."
  156. 1840 PRINT "YOU ARE ALLOTED 35 BOMBS AND 60 LASERS."
  157. 1850 PRINT "THERE ARE APPLE-OWNED FIGHTERS TRYING"
  158. 1860 PRINT "TO STOP YOU,YOU MUST DESTROY THEM WITH"
  159. 1870 PRINT "YOUR LASERS.IF YOU GET HIT BY THEM THEN"
  160. 1880 PRINT "YOU ARE DESTROYED,IF YOU HIT THE GROUND"
  161. 1890 PRINT "THEN YOU ARE DESTROYED.IF YOU GO OUT OF"
  162. 1900 PRINT "THE ATMOSPHERE (THE BLUE LINE),THEN YOU"
  163. 1910 PRINT "LOOSE ALL CONTROL EXCEPT LASERS AND"
  164. 1920 PRINT "BOMBS,AND YOUR SHIP WILL BEGIN FALLING."
  165. 1930 PRINT "  DROP BOMBS ON ALL STRUCTURES AND YOU"
  166. 1940 PRINT "WILL GET POINTS. THE APPLE PLANT (SHOWN"
  167. 1950 PRINT "BELOW) IS WORTH THE MOST POINTS."
  168. 1960 PRINT
  169. 1970 COLOR 6:PRINT "___sr__/\__\RRR\__\AAA\_/\__/\__sr__/\__";
  170. 1980 COLOR 7+16:PRINT "            ^^^    ^^^"
  171. 1990 COLOR 7:PRINT
  172. 2000 PRINT "  IF YOUR SCORE IS HIGH ENOUGH AFTER "
  173. 2010 PRINT "ROUND ONE THEN YOU ARE READY TO FACE "
  174. 2020 PRINT "ROUND TWO. "
  175. 2030 LOCATE 25,1,0:PRINT "press space bar to continue";
  176. 2040 A$=INKEY$:IF A$="" THEN 2040
  177. 2050 PRINT "  USE CURSOR CONTROL KEYS TO MOVE,8 TO"
  178. 2060 PRINT "  GO UP,2 TO GO DOWN,5 TO STOP,4 TO "
  179. 2070 PRINT "  DROP BOMBS, AND 6 TO FIRE THE LASER"
  180. 2080 A$=INKEY$:IF A$="" THEN 2080
  181. 2090 CLS:RETURN
  182. 2100 'COLOR 7:LOCATE 7,1:PRINT "\   /";
  183. 2110 FOR D=1 TO 150:NEXT D
  184. 2120 COLOR 7:LOCATE 7,1:PRINT " \ /";
  185. 2130 FOR D=1 TO 150:NEXT D
  186. 2140 LOCATE 7,1:PRINT "/   \":COLOR 14
  187. 2150 FOR L=7 TO Y-1:COLOR 14:LOCATE L,2:PRINT " [ ";:COLOR 15:LOCATE L+1,2:PRINT ">="+CHR$(26);
  188. 2160 FOR D=1 TO 100:NEXT D:SOUND L*100,.1:NEXT L
  189. 2170 COLOR 15
  190. 2180 FOR L=Y-1 TO 7 STEP -1:LOCATE L,3:PRINT " ";
  191. 2190 FOR D=1 TO 100:NEXT D:SOUND L*100,.1:NEXT L
  192. 2200 COLOR 7:LOCATE L+1,2:PRINT "   ";
  193. 2210 FOR D=1 TO 150:NEXT D
  194. 2220 LOCATE L+1,1:PRINT " \ / ";
  195. 2230 FOR D=1 TO 150:NEXT D
  196. 2240 LOCATE L+1,1:PRINT "     ";
  197. 2250 LOCATE L,2:PRINT "___";
  198. 2260 FOR D=1 TO 150:NEXT D:COLOR 1:LOCATE L,2:PRINT "___";
  199. 2270 RETURN
  200.  
  201.  
  202.  
  203.  
  204. T "     ";
  205. 2250 LOCATE L,2:PRINT "___";
  206. 2260 FOR D=1 TO 150:NEXT D:COLOR 1:LOCATE L,2:PRINT "